package com.gking.resourcePool.service.Resource;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gking.resourcePool.common.Result;
import com.gking.resourcePool.entity.Resource;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface ResourceService extends IService<Resource> {


    /**
     * 资源批量上传
     *
     * @param projectId 项目id
     * @param groupId   项目分组id
     * @param resources 上传的资源列表
     * @return s
     */
    public Result<String> uploadResources(String projectId, String groupId, List<MultipartFile> resources);


    /**
     * 修改资源分组
     *
     * @param resourceId 资源id
     * @param projectId  项目id
     * @param groupId    分组id
     * @return s
     */
    public Result<String> changeResourceGroup(String resourceId, String projectId, String groupId);


    /**
     * 批量删除资源
     *
     * @param resourceIds 资源 id 列表
     * @return s
     */
    public Result<String> deleteResources(List<String> resourceIds);

    /**
     * 分页获取资源列表
     *
     * @param projectId 项目id
     * @param groupId   分组id
     * @param size      分页大小
     * @param page      分页页码
     * @return l
     */
    public Result<Page> getResources(String projectId, String groupId, Integer size, Integer page);


    /**
     * 获取删除资源列表
     *
     * @param size 分页大小
     * @param page 分页页码
     * @return l
     */
    public Result<Page> getDeleteResources(Integer size, Integer page);


    /**
     * 恢复资源
     *
     * @param resourceIds 要恢复的资源 id 列表
     * @return s
     */
    public Result<String> recoverResources(List<String> resourceIds);
}
